[INFO] cloning repository https://github.com/ul/kak-lsp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ul/kak-lsp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ful%2Fkak-lsp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ful%2Fkak-lsp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0af90135e3f8af31e142657ea0c6c5fff7237337
[INFO] fixing ul/kak-lsp against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ful%2Fkak-lsp" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ul/kak-lsp
[INFO] finished tweaking git repo https://github.com/ul/kak-lsp
[INFO] tweaked toml for git repo https://github.com/ul/kak-lsp written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ul/kak-lsp on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ul/kak-lsp already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1b99fcf48a0c09f72f556d5ec844184f8b81c51165879e3c4eedfaabc7afbcdc
[INFO] running `Command { std: "docker" "start" "1b99fcf48a0c09f72f556d5ec844184f8b81c51165879e3c4eedfaabc7afbcdc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1b99fcf48a0c09f72f556d5ec844184f8b81c51165879e3c4eedfaabc7afbcdc" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1b99fcf48a0c09f72f556d5ec844184f8b81c51165879e3c4eedfaabc7afbcdc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1b99fcf48a0c09f72f556d5ec844184f8b81c51165879e3c4eedfaabc7afbcdc" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   libc v0.2.171 removed features: extra_traits
[INFO] [stderr]   syn v2.0.100 (as host dependency) removed features: visit-mut
[INFO] [stderr] 
[INFO] [stderr]     Checking smallvec v1.14.0
[INFO] [stderr]    Compiling slog v2.7.0
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]    Compiling zerocopy v0.8.24
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking crossbeam-channel v0.5.14
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]     Checking deranged v0.4.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking core2 v0.4.0
[INFO] [stderr]    Compiling slog-async v2.8.0
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking rle-decode-fast v1.0.3
[INFO] [stderr]     Checking arc-swap v1.7.1
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking inotify v0.9.6
[INFO] [stderr]     Checking libflate_lz77 v2.1.0
[INFO] [stderr]     Checking term v0.7.0
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking is-terminal v0.4.16
[INFO] [stderr]     Checking filetime v0.2.25
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]     Checking iana-time-zone v0.1.62
[INFO] [stderr]    Compiling pulldown-cmark v0.9.6
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]     Checking dary_heap v0.3.7
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]     Checking notify v6.1.1
[INFO] [stderr]     Checking slog-scope v4.4.0
[INFO] [stderr]     Checking libflate v2.1.0
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking chrono v0.4.40
[INFO] [stderr]     Checking clap_builder v4.5.32
[INFO] [stderr]     Checking slog-stdlog v4.1.1
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking getopts v0.2.21
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking fluent-uri v0.1.4
[INFO] [stderr]     Checking file-id v0.2.2
[INFO] [stderr]     Checking str_indices v0.4.4
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking enum_primitive v0.1.1
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking daemonize v0.5.0
[INFO] [stderr]     Checking notify-debouncer-full v0.3.2
[INFO] [stderr]     Checking ropey v1.6.1
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking whoami v1.6.0
[INFO] [stderr]     Checking diffs v0.5.1
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]     Checking fs4 v0.8.4
[INFO] [stderr]    Compiling trackable_derive v1.0.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking slog-term v2.9.1
[INFO] [stderr]     Checking trackable v1.3.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking clap v4.5.32
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking serde_spanned v0.6.8
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking toml_datetime v0.6.8
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking toml_edit v0.22.24
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking slog-kvfilter v0.7.0
[INFO] [stderr]     Checking sloggers v2.2.0
[INFO] [stderr]     Checking lsp-types v0.97.0
[INFO] [stderr]     Checking jsonrpc-core v18.0.0
[INFO] [stderr]     Checking toml v0.8.20
[INFO] [stderr]     Checking kak-lsp v21.0.0-snapshot (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/main.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 36.31s
[INFO] [stderr] crater-edition-check: kak-lsp v21.0.0-snapshot (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking filetime v0.2.25
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking is-terminal v0.4.16
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking daemonize v0.5.0
[INFO] [stderr]     Checking inotify v0.9.6
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking notify v6.1.1
[INFO] [stderr]     Checking term v0.7.0
[INFO] [stderr]     Checking slog-term v2.9.1
[INFO] [stderr]     Checking notify-debouncer-full v0.3.2
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking toml_datetime v0.6.8
[INFO] [stderr]     Checking serde_spanned v0.6.8
[INFO] [stderr]     Checking sloggers v2.2.0
[INFO] [stderr]     Checking toml_edit v0.22.24
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking lsp-types v0.97.0
[INFO] [stderr]     Checking jsonrpc-core v18.0.0
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking toml v0.8.20
[INFO] [stderr]     Checking kak-lsp v21.0.0-snapshot (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 07s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   libc v0.2.171 removed features: extra_traits
[INFO] [stderr]   syn v2.0.100 (as host dependency) removed features: visit-mut
[INFO] [stderr] 
[INFO] [stderr]     Checking kak-lsp v21.0.0-snapshot (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/controller.rs (1 fix)
[INFO] [stderr]        Fixed src/log.rs (11 fixes)
[INFO] [stderr]        Fixed src/wcwidth.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/controller.rs:1062:41
[INFO] [stdout]      |
[INFO] [stdout]  900 |           let never_rx = never();
[INFO] [stdout]      |               --------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `never_rx` calls a custom destructor
[INFO] [stdout]      |               `never_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  906 |           let from_pending_file_watcher = &ctx
[INFO] [stdout]      |  __________________________________________-
[INFO] [stdout]  907 | |             .file_watcher
[INFO] [stdout]  908 | |             .as_ref()
[INFO] [stdout]  909 | |             .and_then(
[INFO] [stdout] ...    |
[INFO] [stdout]  920 | |             .unwrap_or_else(never);
[INFO] [stdout]      | |                                  -
[INFO] [stdout]      | |                                  |
[INFO] [stdout]      | |__________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  932 |           let timeout_channel = if timeout > 0 {
[INFO] [stdout]      |               ---------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `timeout_channel` calls a custom destructor
[INFO] [stdout]      |               `timeout_channel` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  962 |                   let editor_request = match op.recv(from_editor) {
[INFO] [stdout]      |                                              --------------------
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                              `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  982 |                   let mut file_events = msg.unwrap();
[INFO] [stdout]      |                       ---------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `file_events` calls a custom destructor
[INFO] [stdout]      |                       `file_events` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1000 |                       let file_events: Vec<_> = fw.pending_file_events.drain().collect();
[INFO] [stdout]      |                           -----------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                           `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1061 |                                       if let Some((mut vals, callback)) =
[INFO] [stdout]      |                                                              --------
[INFO] [stdout]      |                                                              |
[INFO] [stdout]      |                                                              `callback` calls a custom destructor
[INFO] [stdout]      |                                                              `callback` will be dropped later as of Edition 2024
[INFO] [stdout] 1062 |                                           ctx.batches.remove(&batch_id)
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                                           up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1075 |                                                   ctx.batches.insert(batch_id, (vals, callback));
[INFO] [stdout]      |                                                   ----------------------------------------------
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                                   `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1079 |                                   } else {
[INFO] [stdout]      |                                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 1117 |                                       if let Some((vals, callback)) = ctx.batches.remove(&batch_id) {
[INFO] [stdout]      |                                                          --------     -----------------------------
[INFO] [stdout]      |                                                          |            |
[INFO] [stdout]      |                                                          |            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                                          |            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                                          `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1145 |                                                       ctx.batches.insert(batch_id, (vals, callback));
[INFO] [stdout]      |                                                       ----------------------------------------------
[INFO] [stdout]      |                                                       |
[INFO] [stdout]      |                                                       this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                                       `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `never_rx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.14/src/channel.rs:1150:1
[INFO] [stdout]      |
[INFO] [stdout] 1150 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.14/src/channel.rs:1150:1
[INFO] [stdout]      |
[INFO] [stdout] 1150 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `timeout_channel` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.14/src/channel.rs:1150:1
[INFO] [stdout]      |
[INFO] [stdout] 1150 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/types.rs:297:1
[INFO] [stdout]      |
[INFO] [stdout]  297 | impl Drop for ResponseFifo {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `file_events` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/fluent-uri-0.1.4/src/internal.rs:110:1
[INFO] [stdout]      |
[INFO] [stdout]  110 | impl Drop for Capped {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/fluent-uri-0.1.4/src/internal.rs:110:1
[INFO] [stdout]      |
[INFO] [stdout]  110 | impl Drop for Capped {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `callback` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/language_features/goto.rs:105:13
[INFO] [stdout]      |
[INFO] [stdout]  101 |               let contents = match get_file_contents(path_str, ctx) {
[INFO] [stdout]      |                   --------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `contents` calls a custom destructor
[INFO] [stdout]      |                   `contents` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  105 | /             locations
[INFO] [stdout]  106 | |                 .map(|(server_id, Location { range, .. })| {
[INFO] [stdout]  107 | |                     let server = ctx.server(*server_id);
[INFO] [stdout]  108 | |                     let pos = lsp_range_to_kakoune(range, &contents, server.offset_encoding).start;
[INFO] [stdout] ...    |
[INFO] [stdout]  121 | |                 })
[INFO] [stdout]      | |                  ^
[INFO] [stdout]      | |                  |
[INFO] [stdout]      | |__________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  122 |                   .join("")
[INFO] [stdout]  123 |           })
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.13.0/src/groupbylazy.rs:431:1
[INFO] [stdout]      |
[INFO] [stdout]  431 | / impl<'a, K, I, F> Drop for Group<'a, K, I, F>
[INFO] [stdout]  432 | | where
[INFO] [stdout]  433 | |     I: Iterator,
[INFO] [stdout]  434 | |     I::Item: 'a,
[INFO] [stdout]      | |________________^
[INFO] [stdout] note: `contents` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ropey-1.6.1/src/tree/node_children.rs:677:5
[INFO] [stdout]      |
[INFO] [stdout]  677 |     impl Drop for NodeChildrenInternal {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `contents` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.14.0/src/lib.rs:2146:1
[INFO] [stdout]      |
[INFO] [stdout] 2146 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/show_message.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 | /                 &last_client
[INFO] [stdout] 137 | |                     .as_ref()
[INFO] [stdout] 138 | |                     .map(|client| client.as_str())
[INFO] [stdout] 139 | |                     .unwrap_or_default()
[INFO] [stdout]     | |                                        ^
[INFO] [stdout]     | |                                        |
[INFO] [stdout]     | |________________________________________this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                                          borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/types.rs:277:19
[INFO] [stdout]     |
[INFO] [stdout] 277 |             match opts.open(&fifo) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 278 |                 Ok(mut file) => {
[INFO] [stdout]     |                    --------
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    `file` calls a custom destructor
[INFO] [stdout]     |                    `file` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 293 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `file` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/controller.rs:1062:41
[INFO] [stdout]      |
[INFO] [stdout]  900 |           let never_rx = never();
[INFO] [stdout]      |               --------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `never_rx` calls a custom destructor
[INFO] [stdout]      |               `never_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  906 |           let from_pending_file_watcher = &ctx
[INFO] [stdout]      |  __________________________________________-
[INFO] [stdout]  907 | |             .file_watcher
[INFO] [stdout]  908 | |             .as_ref()
[INFO] [stdout]  909 | |             .and_then(
[INFO] [stdout] ...    |
[INFO] [stdout]  920 | |             .unwrap_or_else(never);
[INFO] [stdout]      | |                                  -
[INFO] [stdout]      | |                                  |
[INFO] [stdout]      | |__________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  932 |           let timeout_channel = if timeout > 0 {
[INFO] [stdout]      |               ---------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `timeout_channel` calls a custom destructor
[INFO] [stdout]      |               `timeout_channel` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  962 |                   let editor_request = match op.recv(from_editor) {
[INFO] [stdout]      |                                              --------------------
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                              `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  982 |                   let mut file_events = msg.unwrap();
[INFO] [stdout]      |                       ---------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `file_events` calls a custom destructor
[INFO] [stdout]      |                       `file_events` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1000 |                       let file_events: Vec<_> = fw.pending_file_events.drain().collect();
[INFO] [stdout]      |                           -----------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                           `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1061 |                                       if let Some((mut vals, callback)) =
[INFO] [stdout]      |                                                              --------
[INFO] [stdout]      |                                                              |
[INFO] [stdout]      |                                                              `callback` calls a custom destructor
[INFO] [stdout]      |                                                              `callback` will be dropped later as of Edition 2024
[INFO] [stdout] 1062 |                                           ctx.batches.remove(&batch_id)
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                                           up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1075 |                                                   ctx.batches.insert(batch_id, (vals, callback));
[INFO] [stdout]      |                                                   ----------------------------------------------
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                                   `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1079 |                                   } else {
[INFO] [stdout]      |                                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 1117 |                                       if let Some((vals, callback)) = ctx.batches.remove(&batch_id) {
[INFO] [stdout]      |                                                          --------     -----------------------------
[INFO] [stdout]      |                                                          |            |
[INFO] [stdout]      |                                                          |            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                                          |            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                                          `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1145 |                                                       ctx.batches.insert(batch_id, (vals, callback));
[INFO] [stdout]      |                                                       ----------------------------------------------
[INFO] [stdout]      |                                                       |
[INFO] [stdout]      |                                                       this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                                       `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `never_rx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.14/src/channel.rs:1150:1
[INFO] [stdout]      |
[INFO] [stdout] 1150 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.14/src/channel.rs:1150:1
[INFO] [stdout]      |
[INFO] [stdout] 1150 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `timeout_channel` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.14/src/channel.rs:1150:1
[INFO] [stdout]      |
[INFO] [stdout] 1150 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/types.rs:297:1
[INFO] [stdout]      |
[INFO] [stdout]  297 | impl Drop for ResponseFifo {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `file_events` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/fluent-uri-0.1.4/src/internal.rs:110:1
[INFO] [stdout]      |
[INFO] [stdout]  110 | impl Drop for Capped {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/fluent-uri-0.1.4/src/internal.rs:110:1
[INFO] [stdout]      |
[INFO] [stdout]  110 | impl Drop for Capped {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `callback` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/language_features/goto.rs:105:13
[INFO] [stdout]      |
[INFO] [stdout]  101 |               let contents = match get_file_contents(path_str, ctx) {
[INFO] [stdout]      |                   --------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `contents` calls a custom destructor
[INFO] [stdout]      |                   `contents` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  105 | /             locations
[INFO] [stdout]  106 | |                 .map(|(server_id, Location { range, .. })| {
[INFO] [stdout]  107 | |                     let server = ctx.server(*server_id);
[INFO] [stdout]  108 | |                     let pos = lsp_range_to_kakoune(range, &contents, server.offset_encoding).start;
[INFO] [stdout] ...    |
[INFO] [stdout]  121 | |                 })
[INFO] [stdout]      | |                  ^
[INFO] [stdout]      | |                  |
[INFO] [stdout]      | |__________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  122 |                   .join("")
[INFO] [stdout]  123 |           })
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.13.0/src/groupbylazy.rs:431:1
[INFO] [stdout]      |
[INFO] [stdout]  431 | / impl<'a, K, I, F> Drop for Group<'a, K, I, F>
[INFO] [stdout]  432 | | where
[INFO] [stdout]  433 | |     I: Iterator,
[INFO] [stdout]  434 | |     I::Item: 'a,
[INFO] [stdout]      | |________________^
[INFO] [stdout] note: `contents` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ropey-1.6.1/src/tree/node_children.rs:677:5
[INFO] [stdout]      |
[INFO] [stdout]  677 |     impl Drop for NodeChildrenInternal {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `contents` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.14.0/src/lib.rs:2146:1
[INFO] [stdout]      |
[INFO] [stdout] 2146 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/show_message.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 | /                 &last_client
[INFO] [stdout] 137 | |                     .as_ref()
[INFO] [stdout] 138 | |                     .map(|client| client.as_str())
[INFO] [stdout] 139 | |                     .unwrap_or_default()
[INFO] [stdout]     | |                                        ^
[INFO] [stdout]     | |                                        |
[INFO] [stdout]     | |________________________________________this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                                          borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/types.rs:277:19
[INFO] [stdout]     |
[INFO] [stdout] 277 |             match opts.open(&fifo) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 278 |                 Ok(mut file) => {
[INFO] [stdout]     |                    --------
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    `file` calls a custom destructor
[INFO] [stdout]     |                    `file` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 293 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `file` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 18s
[INFO] [stderr] crater-edition-check: kak-lsp v21.0.0-snapshot (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking kak-lsp v21.0.0-snapshot (/opt/rustwide/workdir)
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/show_message.rs:136:18
[INFO] [stdout]     |
[INFO] [stdout] 136 |                    &last_client
[INFO] [stdout]     |   _________________-^
[INFO] [stdout]     |  |__________________|
[INFO] [stdout] 137 | ||                     .as_ref()
[INFO] [stdout] 138 | ||                     .map(|client| client.as_str())
[INFO] [stdout] 139 | ||                     .unwrap_or_default()
[INFO] [stdout]     | ||                                        ^
[INFO] [stdout]     | ||                                        |
[INFO] [stdout]     | ||________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     |  |________________________________________creates a temporary value which is freed while still in use
[INFO] [stdout]     |                                           borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/show_message.rs:136:18
[INFO] [stdout]     |
[INFO] [stdout] 136 |                    &last_client
[INFO] [stdout]     |   _________________-^
[INFO] [stdout]     |  |__________________|
[INFO] [stdout] 137 | ||                     .as_ref()
[INFO] [stdout] 138 | ||                     .map(|client| client.as_str())
[INFO] [stdout] 139 | ||                     .unwrap_or_default()
[INFO] [stdout]     | ||                                        ^
[INFO] [stdout]     | ||                                        |
[INFO] [stdout]     | ||________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     |  |________________________________________creates a temporary value which is freed while still in use
[INFO] [stdout]     |                                           borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kak-lsp` (bin "kak-lsp") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kak-lsp` (bin "kak-lsp" test) due to 1 previous error
[INFO] running `Command { std: "docker" "inspect" "1b99fcf48a0c09f72f556d5ec844184f8b81c51165879e3c4eedfaabc7afbcdc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1b99fcf48a0c09f72f556d5ec844184f8b81c51165879e3c4eedfaabc7afbcdc", kill_on_drop: false }`
[INFO] [stdout] 1b99fcf48a0c09f72f556d5ec844184f8b81c51165879e3c4eedfaabc7afbcdc
